Memory exists, generally, because microcontrollers and microprocessors typically require some form of non-volatile and/or volatile memory for their basic operation. Semiconductor memory can broadly be categorized into two major families that are characterized by whether or not their data is retained when power to the memory is removed. Volatile memory, which loses its data when the power is removed, is commonly referred as random access memory (RAM). Non-volatile memory (NVM) retains its data when the power to the device is removed.
NVM is preferably the location where non-volatile code or data is stored. Non-volatile memory includes such memory types as FLASH, electrically erasable read only memory (EEROM (or electrically erasable programmable read only memory EEPROM)), electrically alterable read only memory (EAROM), among others. Non-volatile memory is popular in data storage applications and code storage applications. Historically, basic input/output systems (BIOS) memory for computers has stored application driving code (code-storage memory) and has included non-volatile memory, such as FLASH memory. Data-storage applications are numerous, and include digital still camera technology, voice/audio recorders, portable computers, and removable storage media, among others. Other applications include embedded devices. Embedded devices include computer functionality, and can include such devices as toasters, microwaves, VCRs, cable or satellite television set-top boxes, and other electronic devices, that include functionality to retain set-up information (e.g., device programming and the state of the machine or device, etc.) all in NVM. If the device loses power, that set-up information is retained and will be available for use when power is re-applied.
EEROM NVM typically has a low net number of access cycles, particularly erase-write (EW) cycles, with a typical range of 10,000 to 10 million EW cycles. One reason for this limited number of EW cycles has to do with the physics of the memory device. For example, charge tunneling is one mechanism to perform a write operation. In charge tunneling types of memory devices, charge is placed into a memory cell using some form of tunneling (e.g., Fowler-Nordheim tunneling, among others) which results in a “path” in the material comprising the memory cell. As the number of writes increases over time, the “path” creates a lowered resistance, which provides a path for charge to leak out of the memory cell. Thus, a need exists in the industry to address the aforementioned and/or other deficiencies and inadequacies.